using MediatR;
using RBAC.ErrorCode;
using SmartHealthcare.Read.Api.DTo;
using System;
using System.Collections.Generic;

namespace SmartHealthcare.Read.Api.Application.Command.Payment
{
    /// <summary>
    /// 获取支付记录列表命令
    /// </summary>
    public class GetPaymentRecordsCommand : IRequest<APIResult<List<PaymentRecordDto>>>
    {
        /// <summary>
        /// 住院号（住院登记ID）
        /// </summary>
        public long? InpatientRegistryId { get; set; }

        /// <summary>
        /// 病人卡号
        /// </summary>
        public string MedicalCard { get; set; }

        /// <summary>
        /// 患者姓名
        /// </summary>
        public string PatientName { get; set; }

        /// <summary>
        /// 开始时间（查询时间范围）
        /// </summary>
        public DateTime? StartTime { get; set; }

        /// <summary>
        /// 结束时间（查询时间范围）
        /// </summary>
        public DateTime? EndTime { get; set; }

        /// <summary>
        /// 支付方式（现金/银行卡/移动支付）
        /// </summary>
        public string PaymentMethod { get; set; }

        /// <summary>
        /// 支付类型（押金缴纳/费用结算/退款）
        /// </summary>
        public string PaymentType { get; set; }
    }
} 